<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script>
    // DACBGIHF
    // DACGIBHF async1 中await async2()
    async function async1() { // 函数声明, 调用时使用
      console.log('A') // 2
      async2() // 一个不含await表达式的async函数是会同步运行的。
      console.log('B') // 4
    }
    async function async2() {
      console.log('C') // 3
    }
    console.log('D') // 1
    setTimeout(function () {
      console.log('F') // 宏任务, 任务顺序比微任务晚
    },0)
    async1()
    new  Promise(resolve=>{
      console.log('G') // 5 同步, 微任务先执行
      resolve()
    }).then(()=>{
      console.log('H')
    })
    console.log('I') // 6
  </script>
</head>
<body>
  
</body>
</html>